In many data centers today, clusters of servers in a client-server network that run business applications often do a poor job of juggling unpredictable workloads. One server may sit idle, while another is constrained. This leads to a “catch-22” situation, in which companies, needing to avoid network bottlenecks and safeguard connectivity with customers, business partners and employees, often plan for high spikes in demand, then watch as those servers operate well under capacity most of the time.
Grid computing addresses some of the foregoing deficiencies in today's client-server networks. In grid computing, disparate computers and systems in an organization, or among organizations, are configured to operate as one large, integrated computing system. More specifically, grid computing is a form of distributed computing that harnesses unused processing cycles of all computers in a network to solve problems that are too complex for any one machine. Grid computing enables selection, aggregation, and sharing of information resources resident in multiple administrative domains and across geographic areas. The information resources are shared, for example, based upon their availability, capability, and cost, as well as a user's quality of service (QoS) requirements.
Applications running in a grid environment are typically dynamically deployed to available grid nodes (machines). After such applications have finished running, they are removed from the grid nodes. Removal, in this context, means that the application is completely deleted from a grid node. Remnants of the application, such as log files, are also deleted from grid nodes, since they consume resources, such as disk space. This can be a drawback, especially if the log files are needed at a later point in time.